Dashboard Temp Share Shortlinks Frames API

HTMLify

Maximum Product Subarray.py
Views: 19 | Author: prakhardoneria
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
class Solution:
    def maxProduct(self, arr):
        if not arr:
            return 0
        
        res = max(arr)
        curMin, curMax = 1, 1
        
        for n in arr:
            if n == 0:
                curMin, curMax = 1, 1
                continue
            
            tmp = curMax * n
            curMax = max(n * curMax, n * curMin, n)
            curMin = min(tmp, n * curMin, n)
            res = max(res, curMax)
            
        return res